package com.zhentao.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.zhentao.model.article.dto.ArticleCommentDto;
import com.zhentao.model.article.dto.ArticleDto;
import com.zhentao.model.article.dto.ArticleHomeDto;
import com.zhentao.model.article.dto.ArticleInfoDto;
import com.zhentao.model.article.pojo.ApArticle;
import com.zhentao.model.common.dtos.PageResponseResult;
import com.zhentao.model.common.dtos.ResponseResult;
import com.zhentao.model.mess.ArticleVisitStreamMess;

public interface ArticleService extends IService<ApArticle> {
    /**
     * @param loadType
     * @param dto
     * @return
     */
    ResponseResult load(Integer loadType, ArticleHomeDto dto);

    /**
     * @param type
     * @param dto
     * @param firstPage
     * @return
     */
    ResponseResult load2(ArticleHomeDto dto, Short type, boolean firstPage);

    //保存文章
    ResponseResult saveArticle(ArticleDto dto);

    /**
     * 收藏文章回显
     *
     * @param dto
     * @return
     */
    ResponseResult loadArticleBehavior(ArticleInfoDto dto);

    /**
     * 更新文章的分值  同时更新缓存中的热点文章数据
     *
     * @param mess
     */
    public void updateScore(ArticleVisitStreamMess mess);

    /**
     * 查询文章评论统计
     *
     * @param dto
     * @return
     */
    public PageResponseResult findNewsComments(ArticleCommentDto dto);
}
